Audio corruptions examples¶

Imports & Definintion of necessary functions

In [2]:
from examples_helper import *

Load a neutral utterance and generate its corrupted versions¶

Load the original neutral utterance

In [40]:
iemocap_audio = "../../iemocap/neutral.wav"
label = "neutral"
audio_data, sample_rate = librosa.load(iemocap_audio, sr=None)
get_spectrogram(iemocap_audio, label)
ipd.Audio(iemocap_audio)
No description has been provided for this image
Out[40]:
Your browser does not support the audio element.

Add gaussian noise (10 SNR)¶

In [4]:
neutral_gaussian = gaussian_corruption(label, audio_data, sample_rate)
get_spectrogram(neutral_gaussian, label)
ipd.Audio(neutral_gaussian)
No description has been provided for this image
Out[4]:
Your browser does not support the audio element.

Add clipping distortion (40%)¶

In [5]:
neutral_clipping = clipping_corruption(label, audio_data, sample_rate)
get_spectrogram(neutral_clipping, label)
ipd.Audio(neutral_clipping)
No description has been provided for this image
Out[5]:
Your browser does not support the audio element.

Compress audio (8kbps bit rate)¶

In [6]:
compressed_file = compress_audio(iemocap_audio, label, sample_rate)
get_spectrogram(compressed_file, label)
ipd.Audio(compressed_file)
No description has been provided for this image
Out[6]:
Your browser does not support the audio element.

Add gain transition (in [-30, -10] dB range)¶

In [7]:
neutral_gain = gain_corruption(label, audio_data, sample_rate)
get_spectrogram(neutral_gain, label)
ipd.Audio(neutral_gain)
No description has been provided for this image
Out[7]:
Your browser does not support the audio element.

Add reverberation (rt60 in 0.1 to 0.5 seconds)¶

In [8]:
reverb_audio = reverberation(label, audio_data, sample_rate)
get_spectrogram(reverb_audio, label)
ipd.Audio(reverb_audio)
Selected 1 impulse responses from ../../datasets/EchoThiefImpulseResponseLibrary/Underground with RT60 in range [0.1, 0.5]
No description has been provided for this image
Out[8]:
Your browser does not support the audio element.

Add background noise from ESC50 dataset (0dB)¶

In [9]:
esc_augmented = background_noise(label, audio_data, sample_rate, esc_config)
get_spectrogram(esc_augmented, label)
ipd.Audio(esc_augmented)
Corruption file: 2-117615-D-48.wav
No description has been provided for this image
Out[9]:
Your browser does not support the audio element.

Add background noise from MUSAN (10dB)¶

In [42]:
musan_augmented = background_noise(label, audio_data, sample_rate, musan_config)
get_spectrogram(musan_augmented, label)
ipd.Audio(musan_augmented)
Corruption file: noise-free-sound-0755.wav
No description has been provided for this image
Out[42]:
Your browser does not support the audio element.

Add background noise from urbansound8k (20dB)¶

In [11]:
urban_augmented = background_noise(label, audio_data, sample_rate, urban_config)
get_spectrogram(urban_augmented, label)
ipd.Audio(urban_augmented)
Corruption file: 195969-0-0-24.wav
No description has been provided for this image
Out[11]:
Your browser does not support the audio element.

Load a happy utterance and generate its corrupted versions¶

Load the original happy utterance

In [12]:
iemocap_audio = "../../iemocap/happy.wav"
label = "happy"
audio_data, sample_rate = librosa.load(iemocap_audio, sr=None)
get_spectrogram(iemocap_audio, label)
ipd.Audio(iemocap_audio)
No description has been provided for this image
Out[12]:
Your browser does not support the audio element.

Add gaussian noise (10 SNR)¶

In [13]:
neutral_gaussian = gaussian_corruption(label, audio_data, sample_rate)
get_spectrogram(neutral_gaussian, label)
ipd.Audio(neutral_gaussian)
No description has been provided for this image
Out[13]:
Your browser does not support the audio element.

Add clipping distortion (40%)¶

In [14]:
neutral_clipping = clipping_corruption(label, audio_data, sample_rate)
get_spectrogram(neutral_clipping, label)
ipd.Audio(neutral_clipping)
No description has been provided for this image
Out[14]:
Your browser does not support the audio element.

Compress audio (8kbps bit rate)¶

In [15]:
compressed_file = compress_audio(iemocap_audio, label, sample_rate)
get_spectrogram(compressed_file, label)
ipd.Audio(compressed_file)
No description has been provided for this image
Out[15]:
Your browser does not support the audio element.

Add gain transition (in [-30, -10] dB range)¶

In [16]:
neutral_gain = gain_corruption(label, audio_data, sample_rate)
get_spectrogram(neutral_gain, label)
ipd.Audio(neutral_gain)
No description has been provided for this image
Out[16]:
Your browser does not support the audio element.

Add reverberation (rt60 in 0.1 to 0.5 seconds)¶

In [17]:
reverb_audio = reverberation(label, audio_data, sample_rate)
get_spectrogram(reverb_audio, label)
ipd.Audio(reverb_audio)
Selected 1 impulse responses from ../../datasets/EchoThiefImpulseResponseLibrary/Underground with RT60 in range [0.1, 0.5]
No description has been provided for this image
Out[17]:
Your browser does not support the audio element.

Add background noise from ESC50 dataset (0dB)¶

In [18]:
esc_augmented = background_noise(label, audio_data, sample_rate, esc_config)
get_spectrogram(esc_augmented, label)
ipd.Audio(esc_augmented)
Corruption file: 2-117615-D-48.wav
No description has been provided for this image
Out[18]:
Your browser does not support the audio element.

Add background noise from MUSAN (10dB)¶

In [19]:
musan_augmented = background_noise(label, audio_data, sample_rate, musan_config)
get_spectrogram(musan_augmented, label)
ipd.Audio(musan_augmented)
Corruption file: music-jamendo-0064.wav
No description has been provided for this image
Out[19]:
Your browser does not support the audio element.

Add background noise from urbansound8k (20dB)¶

In [20]:
urban_augmented = background_noise(label, audio_data, sample_rate, urban_config)
get_spectrogram(urban_augmented, label)
ipd.Audio(urban_augmented)
Corruption file: 70098-3-1-0.wav
No description has been provided for this image
Out[20]:
Your browser does not support the audio element.

Load a sad utterance and generate its corrupted versions¶

Load the original sad utterance

In [21]:
iemocap_audio = "../../iemocap/sad.wav"
label = "sad"
audio_data, sample_rate = librosa.load(iemocap_audio, sr=None)
get_spectrogram(iemocap_audio, label)
ipd.Audio(iemocap_audio)
No description has been provided for this image
Out[21]:
Your browser does not support the audio element.

Add gaussian noise (10 SNR)¶

In [22]:
neutral_gaussian = gaussian_corruption(label, audio_data, sample_rate)
get_spectrogram(neutral_gaussian, label)
ipd.Audio(neutral_gaussian)
No description has been provided for this image
Out[22]:
Your browser does not support the audio element.

Add clipping distortion (40%)¶

In [23]:
neutral_clipping = clipping_corruption(label, audio_data, sample_rate)
get_spectrogram(neutral_clipping, label)
ipd.Audio(neutral_clipping)
No description has been provided for this image
Out[23]:
Your browser does not support the audio element.

Compress audio (8kbps bit rate)¶

In [24]:
compressed_file = compress_audio(iemocap_audio, label, sample_rate)
get_spectrogram(compressed_file, label)
ipd.Audio(compressed_file)
No description has been provided for this image
Out[24]:
Your browser does not support the audio element.

Add gain transition (in [-30, -10] dB range)¶

In [25]:
neutral_gain = gain_corruption(label, audio_data, sample_rate)
get_spectrogram(neutral_gain, label)
ipd.Audio(neutral_gain)
No description has been provided for this image
Out[25]:
Your browser does not support the audio element.

Add reverberation (rt60 in 0.1 to 0.5 seconds)¶

In [26]:
reverb_audio = reverberation(label, audio_data, sample_rate)
get_spectrogram(reverb_audio, label)
ipd.Audio(reverb_audio)
Selected 1 impulse responses from ../../datasets/EchoThiefImpulseResponseLibrary/Underground with RT60 in range [0.1, 0.5]
No description has been provided for this image
Out[26]:
Your browser does not support the audio element.

Add background noise from ESC50 dataset (0dB)¶

In [27]:
esc_augmented = background_noise(label, audio_data, sample_rate, esc_config)
get_spectrogram(esc_augmented, label)
ipd.Audio(esc_augmented)
Corruption file: 2-117615-D-48.wav
No description has been provided for this image
Out[27]:
Your browser does not support the audio element.

Add background noise from MUSAN (10dB)¶

In [28]:
musan_augmented = background_noise(label, audio_data, sample_rate, musan_config)
get_spectrogram(musan_augmented, label)
ipd.Audio(musan_augmented)
Corruption file: noise-free-sound-0144.wav
No description has been provided for this image
Out[28]:
Your browser does not support the audio element.

Add background noise from urbansound8k (20dB)¶

In [29]:
urban_augmented = background_noise(label, audio_data, sample_rate, urban_config)
get_spectrogram(urban_augmented, label)
ipd.Audio(urban_augmented)
Corruption file: 91396-8-0-2.wav
No description has been provided for this image
Out[29]:
Your browser does not support the audio element.

Load an angry utterance and generate its corrupted versions¶

Load the original angry utterance

In [3]:
iemocap_audio = "../../iemocap/angry.wav"
label = "angry"
audio_data, sample_rate = librosa.load(iemocap_audio, sr=None)
get_spectrogram(iemocap_audio, label)
ipd.Audio(iemocap_audio)
No description has been provided for this image
Out[3]:
Your browser does not support the audio element.

Add gaussian noise (10 SNR)¶

In [31]:
neutral_gaussian = gaussian_corruption(label, audio_data, sample_rate)
get_spectrogram(neutral_gaussian, label)
ipd.Audio(neutral_gaussian)
No description has been provided for this image
Out[31]:
Your browser does not support the audio element.

Add clipping distortion (40%)¶

In [32]:
neutral_clipping = clipping_corruption(label, audio_data, sample_rate)
get_spectrogram(neutral_clipping, label)
ipd.Audio(neutral_clipping)
No description has been provided for this image
Out[32]:
Your browser does not support the audio element.

Compress audio (8kbps bit rate)¶

In [33]:
compressed_file = compress_audio(iemocap_audio, label, sample_rate)
get_spectrogram(compressed_file, label)
ipd.Audio(compressed_file)
No description has been provided for this image
Out[33]:
Your browser does not support the audio element.

Add gain transition (in [-30, -10] dB range)¶

In [34]:
neutral_gain = gain_corruption(label, audio_data, sample_rate)
get_spectrogram(neutral_gain, label)
ipd.Audio(neutral_gain)
No description has been provided for this image
Out[34]:
Your browser does not support the audio element.

Add reverberation (rt60 in 0.1 to 0.5 seconds)¶

In [35]:
reverb_audio = reverberation(label, audio_data, sample_rate)
get_spectrogram(reverb_audio, label)
ipd.Audio(reverb_audio)
Selected 1 impulse responses from ../../datasets/EchoThiefImpulseResponseLibrary/Underground with RT60 in range [0.1, 0.5]
No description has been provided for this image
Out[35]:
Your browser does not support the audio element.

Add background noise from ESC50 dataset (0dB)¶

In [4]:
esc_augmented = background_noise(label, audio_data, sample_rate, esc_config)
get_spectrogram(esc_augmented, label)
ipd.Audio(esc_augmented)
Corruption file: 1-47714-A-16.wav
No description has been provided for this image
Out[4]:
Your browser does not support the audio element.

Add background noise from MUSAN (10dB)¶

In [45]:
musan_augmented = background_noise(label, audio_data, sample_rate, musan_config)
get_spectrogram(musan_augmented, label)
ipd.Audio(musan_augmented)
Corruption file: noise-free-sound-0323.wav
No description has been provided for this image
Out[45]:
Your browser does not support the audio element.

Add background noise from urbansound8k (20dB)¶

In [46]:
urban_augmented = background_noise(label, audio_data, sample_rate, urban_config)
get_spectrogram(urban_augmented, label)
ipd.Audio(urban_augmented)
Corruption file: 115415-9-0-7.wav
No description has been provided for this image
Out[46]:
Your browser does not support the audio element.
In [ ]: